package com.briup.sxau.conf;

import com.briup.sxau.util.Result;
import com.briup.sxau.util.SxauException;
import io.jsonwebtoken.JwtException;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.RestControllerAdvice;

/**
 * 全局异常处理
 * 所有在业务层抛出的异常不需要再手动处理
 */
@RestControllerAdvice
public class GlobalExceptionHandler {

    @ExceptionHandler
    public Result handler(Exception e){
//        区分业务异常和系统异常
        if (e instanceof SxauException){
            return  Result.error(50001,e.getMessage());
        }else if (e instanceof JwtException){
            return  Result.error(50002,e.getMessage());
        }else {
            return Result.error(50000,"系统内部错误");
        }

    }

}
